package core;

import java.sql.SQLException;
import constants.ProjectConstants;

public class Viagem {
	private int idViagem;
	private int preco;
	private Integer idReserva;
	private String idAviao;
	private String tipoAviao;
	private String titulo;
	private String locais;
	private String partida;
	private String chegada;
	private String lotacao;
     
   private EstadoViagem estadoActual; 
   
	public void setState(int state) {
		switch(state){
		case ProjectConstants.ACTIVO:
			this.estadoActual = new ViagemEmEspera();
			break;
		case ProjectConstants.FECHADO:
			this.estadoActual = new ViagemFechada();
			break;
		case ProjectConstants.CANCELADO:
			this.estadoActual = new ViagemCancelada();
			break;
		default:
			break;
		}
	}
	
	public int cancelaViagem() throws SQLException, ClassNotFoundException { 
		return this.estadoActual.cancela(this);
	}
	
	public int fechaViagem() throws SQLException, ClassNotFoundException { 
		return this.estadoActual.fecha(this);
	}
   	
   public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public int getPreco() {
		return preco;
	}

	public void setPreco(int preco) {
		this.preco = preco;
	}

	public int getIdViagem() {
		return idViagem;
	}

	public void setIdViagem(int idViagem) {
		this.idViagem = idViagem;
	}

	public Integer getIdReserva() {
		return idReserva;
	}

	public void setIdReserva(Integer idReserva) {
		this.idReserva = idReserva;
	}

	public String getTipoAviao() {
		return tipoAviao;
	}

	public void setTipoAviao(String tipoAviao) {
		this.tipoAviao = tipoAviao;
	}

	public String getLocais() {
		return locais;
	}

	public void setLocais(String locais) {
		this.locais = locais;
	}

	public String getPartida() {
		return partida;
	}

	public void setPartida(String partida) {
		this.partida = partida;
	}

	public String getChegada() {
		return chegada;
	}

	public void setChegada(String chegada) {
		this.chegada = chegada;
	}

	public String getLotacao() {
		return lotacao;
	}

	public void setLotacao(String lotacao) {
		this.lotacao = lotacao;
	}

	public String getIdAviao() {
		return idAviao;
	}

	public void setIdAviao(String idAviao) {
		this.idAviao = idAviao;
	}
	
	

}